#include "widget.h"
#include "ui_widget.h"
#include "label.h"
#include <QDialog>
#include <QDebug>
#include <QLineEdit>
#include <iostream>

Widget::Widget(QWidget *parent)
    : QWidget(parent)
    , ui(new Ui::Widget)
{
    ui->setupUi(this);

    // label* mylabel=new label(this);
    // mylabel->setText("幻兽帕鲁！！！");

    // QDialog w;
    // w.show();//show()展现非模态对话框，产生的对话框会一闪而过，不会持续存在，后续代码也会执行，不会阻塞
    // qDebug()<<"uuuuuuu\n";
    // 模态对话框，产生的对话框会一直存在
    // QDialog* dialog=new QDialog(this);
    // dialog->setModal(false);
    // dialog->show();//不会阻塞在这里，会执行后续语句
    // qDebug()<<"uuuuuuu\n";
    // QDialog w;
    // w.exec();//会阻塞在这里，当对话框被关闭时才会执行后续语句
    // qDebug()<<"uuuuuuu\n";
    // QDialog* dialog=new QDialog(this);
    // dialog->setWindowFlag(Qt::WindowStaysOnTopHint);//将对话框置顶，无法被其他对话框掩盖
    // dialog->show();

    //谁发出的信号，发出了什么信号，谁来处理信号，怎么处理
    //connect(ui->mybutton,&QPushButton::clicked,this,&Widget::handleClick);

    // myButton=new QPushButton(this);
    // myButton->setText(QString("关闭"));
    // myButton->move(200,300);

    // QLineEdit* myline=new QLineEdit(this);
    // myline->setText(QString("bbbbbbb"));
    // QString text=myline->text();
    // // qDebug()<<text;

    // // connect(myButton,&QPushButton::clicked,this,&Widget::handleClick2);

    // connect(myButton,&QPushButton::clicked,this,&Widget::handleClick1);
    //connect(this,&Widget::mySignal,this,&Widget::handlemysignal);
    // qDebug()<<"ssssss";
    //disconnect(this,&Widget::mySignal,this,&Widget::handlemysignal);
    //emit mySignal();
    connect(ui->pushButton,&QPushButton::clicked,this,&Widget::handleClick2);
}

// void Widget::handleClick()
// {
//     if(ui->mybutton->text()==QString("hello world"))
//     {
//         ui->mybutton->setText(QString("hello qt"));
//     }
//     else
//     {
//         ui->mybutton->setText(QString("hello world"));
//     }
// }

//点击本按钮，可以更改别的按钮的显示
// void Widget::handleClick1()
// {
//     if(ui->mybutton->text()==QString("hello wangkai"))
//     {
//         ui->mybutton->setText(QString("hello qt"));
//     }
//     else
//     {
//         ui->mybutton->setText(QString("hello wangkai"));
//     }
// }

void Widget::handleClick1()
{
    if(myButton->text()==QString("hello wangkai"))
    {
        myButton->setText(QString("hello qt"));
    }
    else
    {
        myButton->setText(QString("hello wangkai"));
    }
    //this->setWindowTitle(QString("111标题更改"));
}

void Widget::handleClick2()
{

    qDebug() << "fei模态对话框";
}
int m=1;
void Widget::handleClick3()
{

    m++;
    std::cout<<m<<endl;
}

Widget::~Widget()
{
    delete ui;
}

void Widget::handlemysignal(const QString& text)
{
    this->setWindowTitle(text);
}

void Widget::on_pushButton_clicked()
{
    QDialog h;
    h.show();
}

void Widget::on_pushButton_2_clicked()
{
    disconnect(ui->pushButton,&QPushButton::clicked,this,&Widget::handleClick2);
    connect(ui->pushButton,&QPushButton::clicked,this,&Widget::handleClick3);
    QDialog* w=new QDialog(this);
    w->show();
    w->setWindowTitle(QString("模态对话框"));
    // w->setVisible(true);

    qDebug() << "模态对话框";
}

